<!DOCTYPE html >
<html>
        <head>
          <title>search - it.agilelab.bigdata.spark.search</title>
          <meta name="description" content="search - it.agilelab.bigdata.spark.search" />
          <meta name="keywords" content="search it.agilelab.bigdata.spark.search" />
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
          
      <link href="../../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet" />
      <link href="../../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css" />
      <script type="text/javascript" src="../../../../../lib/jquery.js" id="jquery-js"></script>
      <script type="text/javascript" src="../../../../../lib/jquery-ui.js"></script>
      <script type="text/javascript" src="../../../../../lib/template.js"></script>
      <script type="text/javascript" src="../../../../../lib/tools.tooltip.js"></script>
      
      <script type="text/javascript">
         if(top === self) {
            var url = '../../../../../index.html';
            var hash = 'it.agilelab.bigdata.spark.search.package';
            var anchor = window.location.hash;
            var anchor_opt = '';
            if (anchor.length >= 1)
              anchor_opt = '@' + anchor.substring(1);
            window.location.href = url + '#' + hash + anchor_opt;
         }
   	  </script>
    
        </head>
        <body class="value">
      <div id="definition">
        <img alt="Package" src="../../../../../lib/package_big.png" />
        <p id="owner"><a href="../../../../package.html" class="extype" name="it">it</a>.<a href="../../../package.html" class="extype" name="it.agilelab">agilelab</a>.<a href="../../package.html" class="extype" name="it.agilelab.bigdata">bigdata</a>.<a href="../package.html" class="extype" name="it.agilelab.bigdata.spark">spark</a></p>
        <h1>search</h1><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      </div>

      <h4 id="signature" class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <span class="name">search</span>
      </span>
      </h4>
      
          <div id="comment" class="fullcommenttop"><div class="comment cmt"><p>Core functionality of Spark Search resides here.</p><p><a href="SearchableRDD.html" class="extype" name="it.agilelab.bigdata.spark.search.SearchableRDD">it.agilelab.bigdata.spark.search.SearchableRDD</a> and its implementations are the main classes which provide
user-facing funcitonality.</p><p>There are three implementations available: <a href="impl/BroadcastIndexLuceneRDD.html" class="extype" name="it.agilelab.bigdata.spark.search.impl.BroadcastIndexLuceneRDD">it.agilelab.bigdata.spark.search.impl.BroadcastIndexLuceneRDD</a>,
<a href="impl/PartitionsIndexLuceneRDD.html" class="extype" name="it.agilelab.bigdata.spark.search.impl.PartitionsIndexLuceneRDD">it.agilelab.bigdata.spark.search.impl.PartitionsIndexLuceneRDD</a> and
<a href="impl/DistributedIndexLuceneRDD.html" class="extype" name="it.agilelab.bigdata.spark.search.impl.DistributedIndexLuceneRDD">it.agilelab.bigdata.spark.search.impl.DistributedIndexLuceneRDD</a>.
</p></div><div class="toggleContainer block">
          <span class="toggle">Linear Supertypes</span>
          <div class="superTypes hiddenContent"><a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.AnyRef" class="extype" target="_top">AnyRef</a>, <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Any" class="extype" target="_top">Any</a></div>
        </div></div>
        

      <div id="mbrsel">
        <div id="textfilter"><span class="pre"></span><span class="input"><input id="mbrsel-input" type="text" accesskey="/" /></span><span class="post"></span></div>
        <div id="order">
              <span class="filtertype">Ordering</span>
              <ol>
                
                <li class="alpha in"><span>Alphabetic</span></li>
                <li class="inherit out"><span>By Inheritance</span></li>
              </ol>
            </div>
        <div id="ancestors">
                <span class="filtertype">Inherited<br />
                </span>
                <ol id="linearization">
                  <li class="in" name="it.agilelab.bigdata.spark.search"><span>search</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li>
                </ol>
              </div><div id="ancestors">
            <span class="filtertype"></span>
            <ol>
              <li class="hideall out"><span>Hide All</span></li>
              <li class="showall in"><span>Show All</span></li>
            </ol>
          </div>
        <div id="visbl">
            <span class="filtertype">Visibility</span>
            <ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
          </div>
      </div>

      <div id="template">
        <div id="allMembers">
        

        <div id="types" class="types members">
              <h3>Type Members</h3>
              <ol><li name="it.agilelab.bigdata.spark.search.DateField" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="DateFieldextendsField[java.util.Date]withProductwithSerializable"></a>
      <a id="DateField:DateField"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">case class</span>
      </span>
      <span class="symbol">
        <a href="DateField.html"><span class="name">DateField</span></a><span class="params">(<span name="_name">_name: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="_value">_value: <span class="extype" name="java.util.Date">Date</span></span>)</span><span class="result"> extends <a href="Field.html" class="extype" name="it.agilelab.bigdata.spark.search.Field">Field</a>[<span class="extype" name="java.util.Date">Date</span>] with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Product" class="extype" target="_top">Product</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@DateFieldextendsField[java.util.Date]withProductwithSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.Document" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="DocumentextendsSerializablewithIndexable"></a>
      <a id="Document:Document"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <a href="Document.html"><span class="name">Document</span></a><span class="result"> extends <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a> with <a href="Indexable.html" class="extype" name="it.agilelab.bigdata.spark.search.Indexable">Indexable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@DocumentextendsSerializablewithIndexable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.DoubleField" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="DoubleFieldextendsField[Double]withProductwithSerializable"></a>
      <a id="DoubleField:DoubleField"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">case class</span>
      </span>
      <span class="symbol">
        <a href="DoubleField.html"><span class="name">DoubleField</span></a><span class="params">(<span name="_name">_name: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="_value">_value: <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Double" class="extype" target="_top">Double</a></span>)</span><span class="result"> extends <a href="Field.html" class="extype" name="it.agilelab.bigdata.spark.search.Field">Field</a>[<a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Double" class="extype" target="_top">Double</a>] with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Product" class="extype" target="_top">Product</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@DoubleFieldextendsField[Double]withProductwithSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.Field" visbl="pub" data-isabs="true" fullComment="no" group="Ungrouped">
      <a id="Field[T]extendsSerializable"></a>
      <a id="Field[T]:Field[T]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">sealed abstract </span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <a href="Field.html"><span class="name">Field</span></a><span class="tparams">[<span name="T">T</span>]</span><span class="result"> extends <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@Field[T]extendsSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.FloatField" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="FloatFieldextendsField[Float]withProductwithSerializable"></a>
      <a id="FloatField:FloatField"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">case class</span>
      </span>
      <span class="symbol">
        <a href="FloatField.html"><span class="name">FloatField</span></a><span class="params">(<span name="_name">_name: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="_value">_value: <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Float" class="extype" target="_top">Float</a></span>)</span><span class="result"> extends <a href="Field.html" class="extype" name="it.agilelab.bigdata.spark.search.Field">Field</a>[<a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Float" class="extype" target="_top">Float</a>] with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Product" class="extype" target="_top">Product</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@FloatFieldextendsField[Float]withProductwithSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.Index" visbl="pub" data-isabs="true" fullComment="no" group="Ungrouped">
      <a id="IndexextendsSerializable"></a>
      <a id="Index:Index"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <a href="Index.html"><span class="name">Index</span></a><span class="result"> extends <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@IndexextendsSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">An index.</p>
    </li><li name="it.agilelab.bigdata.spark.search.IndexInfo" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="IndexInfoextendsProductwithSerializable"></a>
      <a id="IndexInfo:IndexInfo"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">case class</span>
      </span>
      <span class="symbol">
        <a href="IndexInfo.html"><span class="name">IndexInfo</span></a><span class="params">(<span name="numDocuments">numDocuments: <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Int" class="extype" target="_top">Int</a></span>, <span name="sizeBytes">sizeBytes: <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Long" class="extype" target="_top">Long</a></span>, <span name="numSegments">numSegments: <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Int" class="extype" target="_top">Int</a></span>)</span><span class="result"> extends <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Product" class="extype" target="_top">Product</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@IndexInfoextendsProductwithSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">Information about an index.</p>
    </li><li name="it.agilelab.bigdata.spark.search.Indexable" visbl="pub" data-isabs="true" fullComment="no" group="Ungrouped">
      <a id="IndexableextendsAnyRef"></a>
      <a id="Indexable:Indexable"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">trait</span>
      </span>
      <span class="symbol">
        <a href="Indexable.html"><span class="name">Indexable</span></a><span class="result"> extends <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.AnyRef" class="extype" target="_top">AnyRef</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@IndexableextendsAnyRef" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">An indexable element.</p>
    </li><li name="it.agilelab.bigdata.spark.search.IndexedPartition" visbl="pub" data-isabs="true" fullComment="no" group="Ungrouped">
      <a id="IndexedPartition[T]extendsSerializable"></a>
      <a id="IndexedPartition[T]:IndexedPartition[T]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <a href="IndexedPartition.html"><span class="name">IndexedPartition</span></a><span class="tparams">[<span name="T">T</span>]</span><span class="result"> extends <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@IndexedPartition[T]extendsSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">An indexed partition.</p>
    </li><li name="it.agilelab.bigdata.spark.search.IndicesInfo" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="IndicesInfoextendsProductwithSerializable"></a>
      <a id="IndicesInfo:IndicesInfo"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">case class</span>
      </span>
      <span class="symbol">
        <a href="IndicesInfo.html"><span class="name">IndicesInfo</span></a><span class="params">(<span name="numIndices">numIndices: <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Int" class="extype" target="_top">Int</a></span>, <span name="numDocuments">numDocuments: <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Long" class="extype" target="_top">Long</a></span>, <span name="sizeBytes">sizeBytes: <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Long" class="extype" target="_top">Long</a></span>, <span name="indicesInfo">indicesInfo: <span class="extype" name="scala.List">List</span>[<a href="IndexInfo.html" class="extype" name="it.agilelab.bigdata.spark.search.IndexInfo">IndexInfo</a>]</span>)</span><span class="result"> extends <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Product" class="extype" target="_top">Product</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@IndicesInfoextendsProductwithSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">Global information about the indices.</p>
    </li><li name="it.agilelab.bigdata.spark.search.IntField" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="IntFieldextendsField[Int]withProductwithSerializable"></a>
      <a id="IntField:IntField"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">case class</span>
      </span>
      <span class="symbol">
        <a href="IntField.html"><span class="name">IntField</span></a><span class="params">(<span name="_name">_name: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="_value">_value: <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Int" class="extype" target="_top">Int</a></span>)</span><span class="result"> extends <a href="Field.html" class="extype" name="it.agilelab.bigdata.spark.search.Field">Field</a>[<a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Int" class="extype" target="_top">Int</a>] with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Product" class="extype" target="_top">Product</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@IntFieldextendsField[Int]withProductwithSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.LongField" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="LongFieldextendsField[Long]withProductwithSerializable"></a>
      <a id="LongField:LongField"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">case class</span>
      </span>
      <span class="symbol">
        <a href="LongField.html"><span class="name">LongField</span></a><span class="params">(<span name="_name">_name: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="_value">_value: <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Long" class="extype" target="_top">Long</a></span>)</span><span class="result"> extends <a href="Field.html" class="extype" name="it.agilelab.bigdata.spark.search.Field">Field</a>[<a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Long" class="extype" target="_top">Long</a>] with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Product" class="extype" target="_top">Product</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@LongFieldextendsField[Long]withProductwithSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.NoPositionsStringField" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="NoPositionsStringFieldextendsField[String]withProductwithSerializable"></a>
      <a id="NoPositionsStringField:NoPositionsStringField"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">case class</span>
      </span>
      <span class="symbol">
        <a href="NoPositionsStringField.html"><span class="name">NoPositionsStringField</span></a><span class="params">(<span name="_name">_name: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="_value">_value: <span class="extype" name="scala.Predef.String">String</span></span>)</span><span class="result"> extends <a href="Field.html" class="extype" name="it.agilelab.bigdata.spark.search.Field">Field</a>[<span class="extype" name="scala.Predef.String">String</span>] with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Product" class="extype" target="_top">Product</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@NoPositionsStringFieldextendsField[String]withProductwithSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.Query" visbl="pub" data-isabs="true" fullComment="no" group="Ungrouped">
      <a id="QueryextendsSerializable"></a>
      <a id="Query:Query"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <a href="Query.html"><span class="name">Query</span></a><span class="result"> extends <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@QueryextendsSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.RawQuery" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="RawQueryextendsQuerywithProductwithSerializable"></a>
      <a id="RawQuery:RawQuery"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">case class</span>
      </span>
      <span class="symbol">
        <a href="RawQuery.html"><span class="name">RawQuery</span></a><span class="params">(<span name="queryString">queryString: <span class="extype" name="scala.Predef.String">String</span></span>)</span><span class="result"> extends <a href="Query.html" class="extype" name="it.agilelab.bigdata.spark.search.Query">Query</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Product" class="extype" target="_top">Product</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@RawQueryextendsQuerywithProductwithSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.SearchableRDD" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="SearchableRDD[T]extendsRDD[T]"></a>
      <a id="SearchableRDD[T]:SearchableRDD[T]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <a href="SearchableRDD.html"><span class="name">SearchableRDD</span></a><span class="tparams">[<span name="T">T</span>]</span><span class="result"> extends <a href="http://spark.apache.org/docs/1.6.2/api/scala/index.html#org.apache.spark.rdd.RDD" class="extype" target="_top">RDD</a>[<span class="extype" name="it.agilelab.bigdata.spark.search.SearchableRDD.T">T</span>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@SearchableRDD[T]extendsRDD[T]" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">Indexed RDD that provides search functionality.</p><div class="fullcomment"><div class="comment cmt"><p>Indexed RDD that provides search functionality.</p><h4>Principle of operation</h4><p>The elements of the input RDD must implement the <a href="Indexable.html" class="extype" name="it.agilelab.bigdata.spark.search.Indexable">Indexable</a> trait; an advanced mechanism
based on implicit conversion using code generation is available that supports common data
types and classes built from them, so no work at all is required in many cases; see <a href="Indexable.html" class="extype" name="it.agilelab.bigdata.spark.search.Indexable">Indexable</a>
for details.</p><p>For each partition of the input RDD, an <a href="IndexedPartition.html" class="extype" name="it.agilelab.bigdata.spark.search.IndexedPartition">IndexedPartition</a> is built, which contains both the
<a href="Index.html" class="extype" name="it.agilelab.bigdata.spark.search.Index">Index</a> for the data in the partition and the data itself.</p><p>Thus, the number of indices built is the same as the number of partitions of the input RDD; every
operation must interrogate all the indices, so the number of indices directly affects performance.</p><p>This means a compromise must be made between efficient operation and partition number/size; this
is an important concern as big partitions can easily wreak havoc and cause OOM errors, especially
during shuffles.</p><p>Work is underway to decouple the data partitioning from the indexes using different RDDs and/or
broadcast variables, in order to alleviate this problem.</p><h4>Queries</h4><p>The queries can either be of type <a href="dsl/DslQuery.html" class="extype" name="it.agilelab.bigdata.spark.search.dsl.DslQuery">DslQuery</a> or of type <a href="RawQuery.html" class="extype" name="it.agilelab.bigdata.spark.search.RawQuery">RawQuery</a>. In the latter
case the way they are interpreted is implementation-dependent.</p><h4>Functionalities</h4><p>The functionalities provided are broadly separable in two categories:</p><ul><li><b>search</b></li><li><b>query join</b></li></ul><p><b>Search</b> functionalities are implemented with methods with <code>search</code> in their name, and are
of two kinds:</p><ul><li>those that return results directly, similar to a <code>collect()</code></li><li>those that return RDDs</li></ul><p>Obviously, the latter ones are much more suited when many queries are to be executed or when results
contain many and/or large elements.</p><p><b>Query join</b> functionalities allow the execution of a join operation on an RDD and a
SearchableRDD, in which the join predicate is a query which is built from each of the elements
of the other RDD and executed on the SearchableRDD.
The other RDD can be the SearchableRDD itself.</p><h4>Variations</h4><p>For methods of both functionalities, two variations are available:</p><ul><li><b>light</b></li><li><b>transformer</b> which returns the result of applying the provided transformer function to the results</li></ul><p><b>Light</b> variations are indicated by a <code>light</code> prefix to the corresponding base method. They
return <code>Long</code> ids instead of elements as results; this means that results use much less memory.</p><p><b>Transformer</b> variations specify an additional transformer function which is applied to the
elements; this allows the extraction of the relevant information from reults to be done as soon
as possible, again helping with memory usage.
</p></div><dl class="paramcmts block"><dt class="tparam">T</dt><dd class="cmt"><p>the type of the elements.</p></dd></dl><dl class="attributes block"> <dt>Note</dt><dd><span class="cmt"><p>Some operations use zipWithUniqueId internally; as such, the same caveats
                       apply, namely that the assigned id is order-dependent. This means that
                       <b>the input RDD must be consistent upon reevaluation</b>, that is, the
                       elements inside the partitions and their ordering must be guaranteed to not
                       change between reevaluations. Otherwise, the behaviour is undefined.</p></span></dd><dt>See also</dt><dd><span class="cmt"><p><a href="http://spark.apache.org/docs/1.6.2/api/scala/index.html#org.apache.spark.rdd.RDD@zipWithUniqueId():org.apache.spark.rdd.RDD[(T,Long)]" class="extype" target="_top">org.apache.spark.rdd.RDD#zipWithUniqueId</a></p></span></dd></dl></div>
    </li><li name="it.agilelab.bigdata.spark.search.SeqField" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="SeqFieldextendsField[Seq[_]]withProductwithSerializable"></a>
      <a id="SeqField:SeqField"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">case class</span>
      </span>
      <span class="symbol">
        <a href="SeqField.html"><span class="name">SeqField</span></a><span class="params">(<span name="_name">_name: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="_value">_value: <span class="extype" name="scala.Seq">Seq</span>[_]</span>)</span><span class="result"> extends <a href="Field.html" class="extype" name="it.agilelab.bigdata.spark.search.Field">Field</a>[<span class="extype" name="scala.Seq">Seq</span>[_]] with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Product" class="extype" target="_top">Product</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@SeqFieldextendsField[Seq[_]]withProductwithSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.Storeable" visbl="pub" data-isabs="true" fullComment="no" group="Ungrouped">
      <a id="Storeable[T]extendsIndexable"></a>
      <a id="Storeable[T]:Storeable[T]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">trait</span>
      </span>
      <span class="symbol">
        <a href="Storeable.html"><span class="name">Storeable</span></a><span class="tparams">[<span name="T">T</span>]</span><span class="result"> extends <a href="Indexable.html" class="extype" name="it.agilelab.bigdata.spark.search.Indexable">Indexable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@Storeable[T]extendsIndexable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.StringField" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="StringFieldextendsField[String]withProductwithSerializable"></a>
      <a id="StringField:StringField"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">case class</span>
      </span>
      <span class="symbol">
        <a href="StringField.html"><span class="name">StringField</span></a><span class="params">(<span name="_name">_name: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="_value">_value: <span class="extype" name="scala.Predef.String">String</span></span>)</span><span class="result"> extends <a href="Field.html" class="extype" name="it.agilelab.bigdata.spark.search.Field">Field</a>[<span class="extype" name="scala.Predef.String">String</span>] with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Product" class="extype" target="_top">Product</a> with <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@StringFieldextendsField[String]withProductwithSerializable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li></ol>
            </div>

        

        <div id="values" class="values members">
              <h3>Value Members</h3>
              <ol><li name="it.agilelab.bigdata.spark.search.Indexable" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="Indexable"></a>
      <a id="Indexable:Indexable"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">object</span>
      </span>
      <span class="symbol">
        <a href="Indexable$.html"><span class="name">Indexable</span></a><span class="result"> extends <a href="utils/Logging.html" class="extype" name="it.agilelab.bigdata.spark.search.utils.Logging">Logging</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@Indexable" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search#SPARK_SEARCH_VERSION" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="SPARK_SEARCH_VERSION:String"></a>
      <a id="SPARK_SEARCH_VERSION:String"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">val</span>
      </span>
      <span class="symbol">
        <span class="name">SPARK_SEARCH_VERSION</span><span class="result">: <span class="extype" name="java.lang.String">String</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@SPARK_SEARCH_VERSION:String" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.SearchableRDD" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="SearchableRDD"></a>
      <a id="SearchableRDD:SearchableRDD"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">object</span>
      </span>
      <span class="symbol">
        <a href="SearchableRDD$.html"><span class="name">SearchableRDD</span></a><span class="result"> extends <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@SearchableRDD" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.dsl" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="dsl"></a>
      <a id="dsl:dsl"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <a href="dsl/package.html"><span class="name">dsl</span></a>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@dsl" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.examples" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="examples"></a>
      <a id="examples:examples"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <a href="examples/package.html"><span class="name">examples</span></a>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@examples" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.impl" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="impl"></a>
      <a id="impl:impl"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <a href="impl/package.html"><span class="name">impl</span></a>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@impl" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.serialization" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="serialization"></a>
      <a id="serialization:serialization"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <a href="serialization/package.html"><span class="name">serialization</span></a>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@serialization" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="it.agilelab.bigdata.spark.search.utils" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="utils"></a>
      <a id="utils:utils"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <a href="utils/package.html"><span class="name">utils</span></a>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#it.agilelab.bigdata.spark.search.package@utils" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li></ol>
            </div>

        

        
        </div>

        <div id="inheritedMembers">
        <div class="parent" name="scala.AnyRef">
              <h3>Inherited from <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.AnyRef" class="extype" target="_top">AnyRef</a></h3>
            </div><div class="parent" name="scala.Any">
              <h3>Inherited from <a href="http://www.scala-lang.org/api/2.11.11/index.html#scala.Any" class="extype" target="_top">Any</a></h3>
            </div>
        
        </div>

        <div id="groupedMembers">
        <div class="group" name="Ungrouped">
              <h3>Ungrouped</h3>
              
            </div>
        </div>

      </div>

      <div id="tooltip"></div>

      <div id="footer">  </div>


    </body>
      </html>
